package cn.hy.guava.demo;

import cn.hy.guava.bus.EventBusListener;
import com.google.common.eventbus.Subscribe;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

@Component
@EventBusListener
public class OrderListener {


    @Subscribe
    public void createOrder(OrderCreatedEvent orderCreatedEvent) {
        System.out.println("crete order event : "  + orderCreatedEvent.toString());
        // 订单创建成功后的各种操作，如发短信、发邮件等等。
        // 注意，事件可以被订阅多次，也就是说可以有很多方法监听 OrderCreatedEvent 事件，
        // 所以没必要在一个方法中处理发短信、发邮件、更新库存等
        // 如何在处理的时候将异常抛出给调用方？
        // throw new RuntimeException("1");
    }


//    @Subscribe
//    public void deleteOrder() {
//        System.out.println("delete order");
//    }

}
